学习日记:Unity单例类MonoSingleton 您所在的位置:网站首页 brand new 意思 学习日记:Unity单例类MonoSingleton

学习日记:Unity单例类MonoSingleton

2023-03-14 03:06| 来源: 网络整理| 查看: 265

仅为自己的理解,有问题请见谅。

这大概是最简单易懂的单例类了吧

    单例是一个概念,意思就是一个类只存在一个的实例,并且对于所有其他类都提供了进入的方式,在游戏开发中全局管理器、缓冲池等都是这类东西,

    也就是在程序里只需要一个,其他对象都可以无障碍访问到的对象,就可以用单例来做。

    单例可以单独来做,但是声明一个单例类可以方便我们创建多个单例。

    首先是最难懂的类声明:

    首先是声明了一个类MonoSingleton,这里面的是C#的泛型

    :MonoBehavivor是父类,这个不用多说

    where T:是C#的泛型约束,意思就是T指定的类型不能超过这个约束范围,后面跟某个类意思就是T只能是该类或者该类的衍生类,跟new()意思是T代表的类必须具有无参数的公共构造函数。

    综合来说就是,这个抽象类指定了一个泛型,这个泛型必须有个无参公共构造,而且必须是本类的子类。

    然后是类体:

    

    首先是有个静态变量instance,这个静态变量指向自身生成的实例(下面会说),静态就代表着其他类可以通过类名直接访问它了。

    然后是一个get;set,这里只写了get,就是在访问instance时如果没有自身的话就创建一个自身(有点绕,我也不知道该怎么说)简单来说这个可以保证程序中有一个该实例。

    这就是单例类了,使用起来很简单:

    

使用单例类

    写个类继承单例类,泛型改成该类,就行了,这个类就变成了一个单例。

    以下是单例的使用:

    

就可以直接调用方法和变量。

图来源自朋友的代码,也有我写的一部分。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有